第一个 Bash 脚本

#!/bin/bash

# 确保 bash 脚本安全性
set -Eeuxo pipefail

# 将分隔符暂时保存
split=$IFS

# 定义分隔符为回车
IFS=$'\n'

function recursion {

	cd $1

	# 列出当前目录下所有文件和文件夹
	local list=$(ls)

	# 循环处理 list 中的项
	for one in $list; do

		# 如果是一个目录,则进入目录下
		if [[ -d $one ]]; then

			# 递归处理
			recursion $one

		else

			# 打印当前正在处理的文件
			filename=${one%.*}

			# 如果后缀名是 .md 则执行添加语句
			if [[ "${one##*.}"x = "md"x ]]; then

				# 就地修改文件
				sed -i "1 i \#\ $filename\n" $filename.md

			fi

		fi

	done

	cd ../
}

# 顶级文件夹处理
recursion $1

# 将分隔符定义回去
IFS=$split

# 输出完成
echo "done."